f8cd959f9329bd847f8d2211ea1bc09ed4be428a,core/typesystemEngine/source/jetbrains/mps/newTypesystem/SubTypingManagerNew.java,SubTypingManagerNew,isSubTypeByReplacementRules,#SNode#SNode#boolean#,68
Before Change
public boolean isSubTypeByReplacementRules(SNode subType, SNode superType, boolean isWeak) {
LanguageScope languageScope = LanguageScopeFactory.getInstance().getLanguageScope(
subType.getLanguage().getDependenciesManager().getAllExtendedLanguages(),
superType.getLanguage().getDependenciesManager().getAllExtendedLanguages());
try{
LanguageScope.pushCurrent(languageScope, this);
for (Pair<InequationReplacementRule_Runtime, IsApplicable2Status> rule : myTypeChecker.getRulesManager().getReplacementRules(subType, superType)) {
After Change
public boolean isSubTypeByReplacementRules(final SNode subType, final SNode superType, final boolean isWeak) {
return LanguageScopeExecutor.execWithTwoLanguageScope(
subType != null ? subType.getLanguage() : null,
superType != null ? superType.getLanguage() : null,
new Computable<Boolean>() {
@Override
public Boolean compute() {